📝esbuildのoption対応 (scrapbox-bundler)
やること
動機
折角なので他のoptionにも対応させるタスクとしてこのページを作ってみた
調査方法
code:sh
code:test.ts
import { build, initialize, WASM_URL } from "../esbuild-wasm/mod.ts";
await initialize({
wasmURL: WASM_URL,
worker: false,
});
const result = await build({
stdin: {
contents: "console.log('hello, world');",
sourcefile: "test.ts",
resolveDir: Deno.cwd(),
},
bundle: true,
minify: true,
splitting: true,
outdir: "out",
format: "esm",
});
console.log(result);
対応リスト
見方
/icons/done.icon対応した
/emoji/warning.icon部分的に対応した
/icons/fail.icon対応(し|でき)ない
/icons/done.iconBundle
/icons/fail.iconEntry points
file systemが存在しない
/icons/done.iconExternal
/icons/done.iconFormat
Inject
Loader
/icons/done.iconMinify
Outdir
指定するとpath: "/:outdir/stdin.js"などとなる
Outfile
指定するとpath: "/:outfile.js"などとなる
Platform
/emoji/warning.iconSourcemap
inlineのみ
Splitting
Target
/icons/fail.iconWatch
エラーは出ないが、ファイルを監視できないので意味がない
/icons/fail.iconWrite
どの値を指定してもwrite: false扱いとなる
/icons/fail.iconAllow overwrite
無効
Analyze
Asset names
Banner
/emoji/warning.iconCharset
UTF-8を使用しないかどうかを示すnoUtf8として提供
Chunk names
Color
効果ない?
Conditions
効果ない?
Entry names
Footer
Global name
Ignore annotations
Incremental
JSX
/icons/done.iconJSX factory
/icons/done.iconJSX fragment
Keep names
Legal comments
Log level
Log limit
Main fields
効果ない?
Metafile
/icons/fail.iconNode paths
指定しても意味ない
Out extension
効果ない?
Outbase
効果ない?
Preserve symlinks
Public path
Pure
Resolve extensions
Source Root
Sourcefile
Sources Content
/icons/fail.iconStdin
常に使用している
Tree shaking
/icons/fail.iconTsconfig
エラーは出ないが、ファイルを読み込めないので無意味
Tsconfig raw
Working directory
/から始まる文字列が使える